As the value and use of information continue to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system (IHS) generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes, thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, IHSs may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in IHSs allow for IHSs to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, an IHS may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
An IHS can be configured in several different configurations ranging from a single, stand-alone computer system to a distributed, multi-device computer system, to a networked computer system with remote or cloud storage systems. Any IHS that encompasses multiple computer systems may employ specific information handling resources, methods, protocols, and standards, to implement IHS management. Examples of such IHS management resources include baseboard management controllers (BMCs) and chassis controllers used in IHS racks.
IHS management protocols and standards may reflect one or more prevailing architecture and design paradigms. As an example, the emergence of scale-out architecture for data centers and other data-intensive and transaction-intensive applications has been accompanied by a corresponding emergence of web-like or representational state transfer (REST) compliant application programming interfaces (APIs) to provide a scalable foundation for distributed management. The Redfish API maintained by the Distributed Management Task Force (DMTF) is an example of a REST-compliant or RESTful API.
RESTful APIs may support resources or services that view navigable references, such as a uniform resource identifier (URI), as opaque values that can be used as targets in subsequent RESTful operations. In this manner, RESTful APIs may link together data objects declared within or defined by the API to provide a comprehensive representation of and control model for a particular collection of systems and components.
When an aggregated resource within a RESTful API generates a response that includes a response URI, the response URI necessarily reflects or inherits the context of the aggregated resource. If an intermediary is imposed between an API resource that generates a response and a client that receives the response, the client may receive a response URI that generates an error when included in a subsequent client request.